home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / blitzbasic / blitz-list200994.lha / blitz-list / 000384_blitz-list-request_Tue Sep 6 03:57:28 1994.msg < prev    next >
Internet Message Format  |  1994-09-20  |  9KB

  1. Received: from iconz.co.nz (iconz.co.nz [202.14.100.2]) by kantti.helsinki.fi (8.6.9/8.6.5) with SMTP id DAA25366 for <blitz-list@helsinki.fi>; Tue, 6 Sep 1994 03:57:09 +0300
  2. Received: (acid@localhost) by iconz.co.nz (8.6.6.Beta6/8.6.6.Beta6) id MAA08610; Tue, 6 Sep 1994 12:51:37 +1200
  3. Date: Tue, 6 Sep 1994 12:51:36 +1200 (NZST)
  4. From: Acid Software <acid@iconz.co.nz>
  5. Subject: bum7 newstuff
  6. To: blitz list <blitz-list@helsinki.fi>
  7. Message-ID: <Pine.3.89.9409061252.A8588-0100000@iconz.co.nz>
  8. MIME-Version: 1.0
  9. Content-Type: TEXT/PLAIN; charset=US-ASCII
  10. X-Status: 
  11. Status: RO
  12.  
  13. BUM7 MAIN DOC
  14.  
  15. Updates and Fixes to Blitz2 v1.9
  16. --------------------------------
  17.  
  18.  
  19. Stability
  20.  
  21. Several improvements have been made to the stability of Blitz2 programs.
  22. First up all string commands have been fixed to both work properly with
  23. the null-termination system introduced in v.18 (our apologies here) and
  24. error checking has been added. No longer will system crashes be caused
  25. with illegal size parameters in mid$() etc.
  26.  
  27. Also, the ASMEND command has been added. Using assembler in statements
  28. and functions use to require the use of UNLK A4 and RTS. This system
  29. did not work properly when runtime errors were enabled. A fullproof
  30. method is now available, simply use the ASMEND command in place of any
  31. RTS commands. Blitz2 will look after the unlinking of A4, allow for
  32. runtime errors and then do an RTS. Finally my darts demo runs with
  33. runtime errors enabels (yipeeee!).
  34.  
  35. And finally, runtime error checking has been added for square bracket
  36. arrays. Yup, out of range checking has been incorporated for those of
  37. us whose first guess at why our programs were crashing was to go through
  38. and check such usage manually. This with the new string checking and the
  39. sexy new debugger should return a few people to using Blitz2's runtime
  40. debugging features. Thanks to all those and their abuse for helping us
  41. get these problems resolved.
  42.  
  43.  
  44. Debugging
  45.  
  46. The debugger is now a separate program that is launched by Blitz2 when a
  47. prgram is run (runtime errors enabled of course).
  48.  
  49. The gadgets in the window allow the programmer access to the standard
  50. debugging features. CtrlAltC can still be used to halt programs, especially
  51. those using Slices and Displays in Blitz mode.
  52.  
  53. By increasing the size of the window the program listing can be viewed.
  54.  
  55. A PANIC! button has also been introduced once a program is launched from
  56. the editor. Yup, programs are now launched not run so those into weird
  57. system crashes may be able to return to Ted leaving their programs disabled
  58. in memory. A REBOOT button may have been more useful...
  59.  
  60. The source code for the default debugger is included in the acidlibsrc
  61. directory of the libsdev archive. It is extremely well documented by
  62. Mark so those wanting to extend the functionality of the system are
  63. most welcome. Serial port support for using a remote terminal would
  64. be very nice.
  65.  
  66.  
  67. Interupts and BlitzKeys
  68.  
  69. BlitzKeys, BlitzKeys, BlitzKeys. A common profanity used by those of us
  70. use to keyboard lock ups in keyboard based Blitz games (especially
  71. SkidMarks). Well no more!
  72.  
  73. Blitz now leaves Amiga interupts enabled in Blitz mode. This means that
  74. not only is the system keyboard interupt still running (thank the lord)
  75. but any SetInts initiated in Amiga mode will continue.
  76.  
  77. Other advantages are that Blitz mode is now more acceptable to the CD32
  78. environment and RawStatus can be used in Amiga mode for keyboard games
  79. not wanting to run in Windows (yuck).
  80.  
  81. Blitzkeys On now does a bit of a "BlitzkeysInput" for one character inputs
  82. only, any other inputs use the previously defined Input channel.
  83.  
  84. Blitzkeys Off no longer exists. BlitzRepeat has gone (no repeating keys).
  85.  
  86.  
  87. Serial Stuff
  88.  
  89. Peter Tavinor has upgraded the Serial Library. ReadSerial now return a
  90. word (read unsigned byte) so chr$(255) is acceptable. WriteSerialString
  91. includes flags for DoIO and True String (not null terminated). ReadSerial
  92. has a new flag "WaitForChar"
  93.  
  94.  
  95. GadTools
  96.  
  97. The GTPalette has had several default tags removed as they crashed under
  98. 2.0 (yeh, great, just what tags are suppose to avoid). AttachGTList had
  99. a minor problem in some situations (now fixed).
  100.  
  101. Another bug that has been found in GadTools under 2.0 is that GTLists
  102. actually allocate gadget id's for internal use. Besides being completely
  103. unethical (and fixed in 3.0) it means that programmers should use id
  104. values of greater than 50 to avoid this system bug. Adding GTLists last
  105. in your list should also work although their id's should be more than the
  106. number of lines of text they should display (no I am not going to explain
  107. further).
  108.  
  109.  
  110. ScreensLib
  111.  
  112. The Screen command now rounds the width up to the nearest multiple of 16
  113. rather than causing the error "Screen Width Must be a multiple of 16".
  114. Common sense I think.
  115.  
  116.  
  117. ValLib
  118.  
  119. Val() now accepts hex and binary strings (preceeded by "$" and "%" of course.)
  120. Because Val() returns a float it should not be used to evaluate 32 bit integers
  121. (longs).
  122.  
  123.  
  124. Display Library
  125.  
  126. A quick version of the InitCoplist command has been included which calculates
  127. the number of colours, sprites and size depending on just the type parameter.
  128.  
  129. As promised the Display library now sports new commands for palette effects
  130. and so forth. There are two varieties of copper based commands, the first
  131. allows the user to insert a new palette or copperstring at a certain line
  132. of the display, the other allows control of each and every line of the
  133. display.
  134.  
  135. For line based effects a negative value should be used in combination
  136. with the numcustoms parameter of the InitCopList command. Color splits,
  137. bitmap scrolling, scan doubling/trebling/quadrupling and custom copper
  138. strings can now be acheived on a line by line basis.
  139.  
  140.  
  141. Palette Library.
  142.  
  143. A number of commands have been added to the Palette library for use mainly
  144. with the display library. Fades and Colour cycling can now be performed on
  145. palette objects themselves (rather than on screens and slices) and hence
  146. can be used in conjunction with the DisplayPalette command.
  147.  
  148.  
  149. Banks and Decoding.
  150.  
  151. Decode commands have been added to allow programmers to both include shapes,
  152. sounds, palettes, music and ILBM's (IFF bitmaps) in their programs or from
  153. preloaded files (mainly using the LoadBank command or unpacking type commands).
  154.  
  155. To include such files in the program the incbin command is used. Typically
  156. a list of included files will be situated at the bottom of the listing (with
  157. and End statement just above to be safe). Each IncBin will be preceeded by
  158. a label and the ?label syntax would be used to pass the location of each
  159. included file to the appropriate Decode command at the top of the program.
  160.  
  161. Those unhappy with the slow but memory unhungry LoadBitMap command can take
  162. advantage of the fast but memory hungry method of loading iff/ilbm files
  163. with the code listed in the DecodeILBM command description.
  164.  
  165.  
  166. New Commands
  167. ------------
  168.  
  169.    GTStatus(GTList#,Id) ;bbgtlib
  170.    GTArrowSize size       ;bbgtlib
  171.    DecodeILBM BitMap#,MemoryLocation ;ilbmifflib
  172.    DecodeSound Sound#,MemoryLocation ;audiolib
  173.    DecodePalette Palette#,MemoryLocation[,Palette Offset] ;palettelib
  174.    DecodeMedModule MedModule#,MemoryLocation ;medlib
  175.    DecodeShapes Shape#[,Shape#],MemoryLocation ;shapeslib
  176.    InitShape Shape#,Width,Height,Depth ;shapeslib
  177.    SetPeriod Sound#,Period ;audiolib ;audiolib
  178.    Bank(Bank#)
  179.    LoadBank Bank#,FileName$[,MemType]
  180.    AllocMem (size,type) ;banklib
  181.    FreeMem location,size ;banklib
  182.    BlockScroll X1,Y1,Width,Height,X2,Y2[,BitMap#] ;scrolllib
  183.    ClipBlitMode BPLCON0  ;2dlib
  184.    CyclePalette Palette# ;palettelib
  185.    FadePalette SrcPalette#,DestPalette#,Brightness.q ;palettelib
  186.    InitPalette Palette#,NumColors ;palettelib
  187.    PaletteRange Palette#,StartCol,EndCol,r0,g0,b0,r1,g1,b1 ;palettelib
  188.    DuplicatePalette SrcPalette#,DestPalette# ;palettelib
  189.    SavePalette Palette#,FileName$ ;iffmakelib
  190.    CustomColors CopList#,CCOffset,YPos,Palette,startcol,numcols ;displaylib
  191.    CustomString CopList#,CCOffset,YPos,Copper$ ;displaylib
  192.    DisplayDblScan CopList#,Mode[,copoffset] ;displaylib
  193.    DisplayRainbow CopList#,Register,Palette[,copoffset] ;displaylib
  194.    DisplayRGB CopList#,Register,line,r,g,b[,copoffset] ;displaylib
  195.    DisplayUser CopList#,Line,String[,Offset] ;displaylib
  196.    DisplayScroll CopList#,&xpos.q(n),&xpos.q(n)[,Offset] ;displaylib
  197.    ReadSerialMem Unit#,Address,Length ;seriallib
  198.    WriteSerialMem Unit#,Address,Length ;seriallib
  199.    PopInput & PopOutput ;inputoutputlib
  200.    GameB(por#) ;gameiolib
  201.    NumPars ;cliargslib
  202.    Par$(parameter#) ;cliargslib
  203.    FromCLI ;cliargslib
  204.    ParPath$ (parameter,type) ;cliargslib